#导入 jwt
import jwt
import datetime
from django.conf import settings

#秘钥
key=settings.SECRET_KEY
class JwtTool:
    #生成token 需要用户的数据  {id:1,username:''}
    def gettoken(self,user):
        #encode() 可以生成token 有两个必要参数  paylaod 是一个字典的形式  必须包含过期时间或者生效时间等  key是加密的秘钥  是什么无所谓 别人不能知道
        user["exp"]=datetime.datetime.utcnow()+datetime.timedelta(hours=2)
        token=jwt.encode(user, key, algorithm='HS256')
        return "Bearer "+token#在返回的时候  一般会给前端 带上"Bearer "前缀

    #解析token
    def parseToken(self,token):
        token=token.replace("Bearer ","")
        #token=token.split(" ")[1]
        user=jwt.decode(token, key, algorithms=['HS256'])
        return user

mean=JwtTool()
# token=tool.gettoken({"id":1,"username":"admin"})
# print(token)
# user=tool.parseToken(token)
# print(user)

